package LeetCode.month01.day02;

import java.util.*;

//找到字符串中所有字母异位词
public class No438 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s1 = sc.nextLine();
        String s2 = sc.nextLine();
        System.out.println(findAnagrams(s1,s2));
    }
    public static List<Integer> findAnagrams(String s, String p) {
        ArrayList<Integer> list = new ArrayList<>();
        if(s.length()<p.length()){
            return list;
        }
        int[] sarr = new int[26];
        int[] parr = new int[26];
        for (int i = 0; i <p.length(); i++) {
            sarr[s.charAt(i)-'a']++;
            parr[p.charAt(i)-'a']++;
        }
        if(Arrays.equals(sarr,parr)){
            list.add(0);
        }
        for (int i = 0; i < s.length()-p.length(); i++) {
            sarr[s.charAt(i)-'a']--;
            sarr[s.charAt(i+p.length())-'a']++;
            if(Arrays.equals(sarr,parr)){
                list.add(i+1);
            }
        }
        return list;

//        List<Integer> list = new ArrayList<>();
//        int len = s.length();
//        int len2 = p.length();
//        char[] chars = p.toCharArray();
//        ArrayList<Character> list2 = new ArrayList<>();
//        Arrays.sort(chars);
//        //System.out.println(chars);
//        for (int i = 0; i < len-len2+1; i++) {
//            char[] chars1 = s.substring(i,i+len2).toCharArray();
//            Arrays.sort(chars1);
//            //System.out.println(chars1);
//            if(Arrays.equals(chars,chars1)){
//                list.add(i);
//            }
//        }
//        return list;
    }
}
